package com.ctvit.cch.core.pojo.domain;

import java.time.LocalDateTime;
import java.util.Collection;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * 脚本场景表对象 insp_creative_script_scene
 *
 * @author heyingcheng
 * @date 2025/10/11
 */
@Getter
@Setter
@ToString
@TableName(value = "insp_creative_script_scene", autoResultMap = true)
public class CreativeScriptScene {

    /**
     * 场景主键
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String sceneId;

    /**
     * 脚本ID
     */
    private String scriptId;

    /**
     * 选题ID
     */
    private String topicId;

    /**
     * 场景索引
     */
    private Integer sceneIndex;

    /**
     * 场景名称
     */
    private String sceneName;

    /** 
     * 场景时长
     */
    private Integer sceneDuration;

    /**
     * 场景描述
     */
    private String sceneDescription;

    /**
     * 情节描述
     */
    private String eventDescription;

    /**
     * 涉及角色信息数组
     */
    @TableField(typeHandler = JacksonTypeHandler.class)
    private Collection<String> characters;

    /**
     * 角色对话
     */
    private String characterDialogue;

    /**
     * 旁白内容
     */
    private String sidebarContent;

    /**
     * 分镜生成状态：WAIT-等待 ING-创作中 SUCCESS-创作成功 FAILURE-创作失败
     */
    private String shotStatus;

    /**
     * 创建时间
     */
    protected LocalDateTime createTime;

    /**
     * 更新时间
     */
    protected LocalDateTime updateTime;

}